Portable computing devices, such as wireless telephones and personal digital assistants (PDAs), continually require increased data storage capacity and processing speed. For example, a wireless telephone may concurrently serve as a digital camera, multi-media file player, and portable game player. Concurrent with increasing functionality and performance requirements, available battery volume is decreasing, e.g., due to smaller portable devices and/or volume being occupied by other hardware.
One known technique for reducing power is to configure the computing device to switch, for example, in response to explicit instructions, to a local memory/low power mode. In the local memory/low power mode, a processing core may be allowed to access only a set of lower power local resources, e.g., a local memory which may be tightly coupled to the processing core, and selected other low power and/or essential device resources, and not have access non-local resources.
In the local memory/low power mode, some or all of the non-local resources can be powered down or otherwise placed in a non-operational state, providing power savings. However, a power on sequence must be executed before the non-local resources are accessible to the processor core. In addition, attempts to access non-local resources while operating in the local resources low power mode must be prohibited, since those resources may be nonoperational. Known conventional techniques for preventing such access can have costs and other shortcomings.
For example, one known technique for preventing attempts to access non-local resources when operating in the local memory/low power mode is to invalidate, when switching to that mode, all entries in the computing device's translation lookaside buffer (TLB) that point to non-local resources. The result is that any attempt to access non-local resources while in the local memory/low power mode will cause a “page fault exception” because there is no valid mapping entry in the TLB. However, invalidating all the TLB entries that point to non-local resources can require significant processing power and time. Also, upon awakening to normal power operation, a significant number of TLB misses and resulting page walk searches may be required until the TLB is repopulated with valid external memory translation entries. The repeated page walk searches can carry substantial power and time costs.